package com.xxf.androidsqlitelib.modle;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import org.greenrobot.greendao.annotation.ToOne;

/**
 * TODO:第一步生成实体类
 *
 * @author XXF
 *         Create Time : 2018/3/21
 *         注释说明:
 * @Entity 　表明这个实体类会在数据库中生成一个与之相对应的表。
 * @Id 　对应数据表中的 Id 字段，有了解数据库的话，是一条数据的唯一标识。
 * @Property(nameInDb = “STUDENTNUM”) 　表名这个属性对应数据表中的 STUDENTNUM 字段。
 * @Property 　可以自定义字段名，注意外键不能使用该属性
 * @NotNull 　该属性值不能为空
 * @Transient 　该属性不会被存入数据库中
 * @Unique 　表名该属性在数据库中只能有唯一值
 * （1）@Entity 实体标识
 * @nameInDb 在数据库中的名字，如不写则为实体中类名
 * @indexes 索引
 * @createInDb 是否创建表，默认为true,false时不创建
 * @schema 指定架构名称为实体
 * @active 无论是更新生成都刷新
 * （2）@Id 每条数据对应的位置，必写项
 * （3）@Property(nameInDb = "") 表示该属性将作为表的一个字段,其中nameInDb属性值是在数据库中对应的字段名称,可以自定义字段名,例如可以定一个跟实体对象字段不一样的字段名
 * （4）@NotNull 不为null
 * （5）@Unique 唯一约束   该属性值必须在数据库中是唯一值
 * （6）@ToMany 一对多
 * （7）@OrderBy 排序
 * （8）@ToOne 一对一 关系表
 * （9）@Transient 不保存于数据库
 * （10）@generated 由greendao产生的构造函数或方法
 */

@Entity()
public class StudentMsgBean {
    @Id
    private Long id;

    @Property(nameInDb = "STUDENTNUM")
    private String studentNum;

    @Property(nameInDb = "NAME")
    private String name;
    @Generated(hash = 381350025)
    public StudentMsgBean(Long id, String studentNum, String name) {
        this.id = id;
        this.studentNum = studentNum;
        this.name = name;
    }

    @Generated(hash = 160565988)
    public StudentMsgBean() {
    }

    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getStudentNum() {
        return this.studentNum;
    }

    public void setStudentNum(String studentNum) {
        this.studentNum = studentNum;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
